@charset "UTF-8";

/**
 * 文本内容入场动画:
 * 从下往上文本内容顺序入场
 */
.anim-sort-in {
    display: flex;
    flex-wrap: wrap;
}

.anim-sort-in-text-shadow span {
    text-shadow: 0 0 0 rgba(0, 0, 0, .15),
    0 0 0 rgba(0, 0, 0, .15),
    0 0 0 rgba(0, 0, 0, .15),
    0 0 0 rgba(0, 0, 0, .15),
    0 0 0 rgba(0, 0, 0, .15),
    -60px -17px 0 rgba(0, 0, 0, .06),
    60px 17px 0 rgba(0, 0, 0, .06);
}

.anim-sort-in span {
    opacity: 0;

    animation-name: sort-in;
    animation-duration: 350ms;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.42, 0, 0.51, 1.3);
    transform: translateY(50px);
}

@keyframes sort-in {
    from {
        transform: translateY(50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/**
 * z轴旋转动画:
 * 元素绕z轴无限旋转
 */
.anim-spin-infinite {
    animation-name: spin-infinite;
    animation-duration: 30s;
    animation-delay: 3s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-fill-mode: both;
}

@keyframes spin-infinite {
    form {
        transform: rotateZ(0deg);
    }
    to {
        transform: rotateZ(360deg);
    }
}
